Computer users are accustomed to using a mouse or keyboard as a way of interacting with a personal computer. While inputting information via a mouse or keyboard provides a number of advantages, most users continue to perform certain functions by composing a hand-written document (e.g., on paper or on a whiteboard). Some advantages of a hand-written document over an electronic document include its readability and portability. Others include the ease at which one can archive a hand-written document. One of the difficulties, however, with composing a hand-written document is the need to have the hand-written document converted into an electronic form. This requires the original user or another user to manually enter the information written in the document into a personal computer. In some cases, a user will scan in the hand-written document, thereby creating a new electronic document. These multiple steps make the interaction between the original document and the electronic form of the document difficult to handle on a repeated basis. Further, the scanned-in image is frequently non-modifiable. This makes it difficult for users to alter the information in the electronic form.
Similar difficulties also exist in creating an annotation on a preexisting document. When converting the hand-written annotation into an electronic form, users frequently need to manually enter the annotation into a personal computer or scan in the annotation. Since the scanned-in image is frequently non-modifiable, it is difficult to separate the annotation from the original information of the preexisting document. Accordingly, an improved way to convert hand-written information into an electronic form is needed.
Methods and systems have been developed to analyze a pattern encoded on a surface to determine a location of an optical device on the surface. Some existing patterns, however, do not have efficient ink usage. That is, the existing methods and systems often require a significant amount of ink or other means to embed a pattern on a surface. Further, some existing methods and systems do not provide a pattern that is visually smooth enough to effectively prevent users from being distracted by such a pattern when performing a function on a surface encoded with the pattern (e.g., writing on the surface). Also, the existing methods and systems fail to provide a pattern that has variable information density. Thus, the existing methods and systems typically do not allow scaling of ink density according to data desired to be encoded. Additionally, some of the existing patterns are not easy to produce, to decode, and/or to effectively encode a variety of payload data.
Accordingly, a solution that effectively encodes data in a pattern of symbols and decodes a pattern of symbols to determine data corresponding to the pattern is desired to address one or more of these and other disadvantages.